package db

import (
	"gorm.io/driver/sqlite"
	"gorm.io/gorm"
	"bainiao/internal/model"
)

var DB *gorm.DB

// InitDB 初始化SQLite数据库并迁移模型
func InitDB() error {
	var err error
	DB, err = gorm.Open(sqlite.Open("bainiao.db"), &gorm.Config{})
	if err != nil {
		return err
	}

	// 自动迁移所有模型
if err := DB.AutoMigrate(
	&model.User{},
	&model.FriendRelation{},
	&model.GameState{},
	&model.Task{},
	&model.UserTask{},
	&model.Commodity{},
	&model.PriceHistory{},
	&model.Transaction{},
	&model.Revenue{},
); err != nil {
	return fmt.Errorf("自动迁移失败: %v", err)
}

// 初始化测试数据（仅开发环境）
if os.Getenv("ENV") == "dev" {
	if err := model.InitTestCommodities(); err != nil {
		return fmt.Errorf("测试数据初始化失败: %v", err)
	}
}
}